package com.lingshu.app.model.register;

import androidx.databinding.BaseObservable;

import com.google.gson.annotations.JsonAdapter;
import com.lingshu.app.model.adapters.DateAdapter;
import com.lingshu.app.model.enums.AIResultStatus;
import com.lingshu.app.model.enums.AiProcessStatus;
import com.lingshu.app.model.enums.EntityStatus;
import com.lingshu.app.model.enums.ExclusiveResult;
import com.lingshu.app.model.enums.ImageQaResult;
import com.lingshu.app.model.enums.RegisterMethod;
import com.lingshu.app.model.enums.RegisterType;
import com.lingshu.app.model.enums.ScreeningReportType;
import com.lingshu.app.model.enums.ScreeningStatus;
import com.lingshu.app.model.enums.ScreeningType;
import com.lingshu.app.model.enums.TaskType;

import java.io.Serializable;
import java.util.Date;

/**
 * @author 于定金
 * @version 1.0
 * @Date 2024/1/8 16:23
 * @Description
 */
public class RegisterResponse extends BaseObservable implements Serializable {
    private Long id;
    private Long organizationId;
    private String orgCode;
    private ScreeningType screeningType;
    private Boolean firstRegister;
    private RegisterType registerType;
    private RegisterMethod registerMethod;
    private Long patientId;
    private Integer age;
    private Integer gender;
    private String applyNo;
    private Long customerId;
    private String customerName;
    private String customerShotName;
    private Long equipmentId;
    private String equipmentName;
    private String equipmentAET;
    private Long customerBusinessId;
    private String customerBusinessName;
    private Long reportTemplateId;
    private String reportTitle;
    private String seriesInstanceUID;
    private String operatorsName;
    @JsonAdapter(DateAdapter.class)
    private Date inspectTime;
    private ScreeningStatus screeningStatus;
    private Integer validMinute;
    @JsonAdapter(DateAdapter.class)
    private Date finishedTime;
    private Long reportAuditUserId;
    @JsonAdapter(DateAdapter.class)
    private Date reportAuditDate;
    private ImageQaResult imageQaStatus;
    private Integer imageQaScore;
    @JsonAdapter(DateAdapter.class)
    private Date imageQaTime;
    private String imageQa;
    private String imageFailedReason;
    private Boolean isNeedReport;
    private TaskType taskType;
    private Long taskId;
    private Long taskInviteeId;
    private Long taskItemId;
    private Long taskDoctorId;
    private Boolean isAiHandler;
    private Double weight;
    private AIResultStatus aiResult;
    private AIResultStatus aiResultLeft;
    private AIResultStatus aiResultRight;
    private AIResultStatus doctorResultRight;
    private AIResultStatus doctorResultLeft;
    private AiProcessStatus aiProcessStatus;
    private ExclusiveResult exclusiveResult;
    private String creater;
    @JsonAdapter(DateAdapter.class)
    private Date createTime;
    private String updater;
    @JsonAdapter(DateAdapter.class)
    private Date updateTime;
    private Boolean isDeleted;
    private Long version;
    private String patientName;
    private ScreeningReportType screeningReportType;
    private EntityStatus entityStatus;
    private Boolean rightIsConfirmed;
    private Boolean leftIsConfirmed;
    private Boolean canChangePart;
    private Boolean allowSingleSide;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getOrganizationId() {
        return organizationId;
    }

    public void setOrganizationId(Long organizationId) {
        this.organizationId = organizationId;
    }

    public String getOrgCode() {
        return orgCode;
    }

    public void setOrgCode(String orgCode) {
        this.orgCode = orgCode;
    }

    public ScreeningType getScreeningType() {
        return screeningType;
    }

    public void setScreeningType(ScreeningType screeningType) {
        this.screeningType = screeningType;
    }

    public Boolean getFirstRegister() {
        return firstRegister;
    }

    public void setFirstRegister(Boolean firstRegister) {
        this.firstRegister = firstRegister;
    }

    public RegisterType getRegisterType() {
        return registerType;
    }

    public void setRegisterType(RegisterType registerType) {
        this.registerType = registerType;
    }

    public RegisterMethod getRegisterMethod() {
        return registerMethod;
    }

    public void setRegisterMethod(RegisterMethod registerMethod) {
        this.registerMethod = registerMethod;
    }

    public Long getPatientId() {
        return patientId;
    }

    public void setPatientId(Long patientId) {
        this.patientId = patientId;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Integer getGender() {
        return gender;
    }

    public void setGender(Integer gender) {
        this.gender = gender;
    }

    public String getApplyNo() {
        return applyNo;
    }

    public void setApplyNo(String applyNo) {
        this.applyNo = applyNo;
    }

    public Long getCustomerId() {
        return customerId;
    }

    public void setCustomerId(Long customerId) {
        this.customerId = customerId;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getCustomerShotName() {
        return customerShotName;
    }

    public void setCustomerShotName(String customerShotName) {
        this.customerShotName = customerShotName;
    }

    public Long getEquipmentId() {
        return equipmentId;
    }

    public void setEquipmentId(Long equipmentId) {
        this.equipmentId = equipmentId;
    }

    public String getEquipmentName() {
        return equipmentName;
    }

    public void setEquipmentName(String equipmentName) {
        this.equipmentName = equipmentName;
    }

    public String getEquipmentAET() {
        return equipmentAET;
    }

    public void setEquipmentAET(String equipmentAET) {
        this.equipmentAET = equipmentAET;
    }

    public Long getCustomerBusinessId() {
        return customerBusinessId;
    }

    public void setCustomerBusinessId(Long customerBusinessId) {
        this.customerBusinessId = customerBusinessId;
    }

    public String getCustomerBusinessName() {
        return customerBusinessName;
    }

    public void setCustomerBusinessName(String customerBusinessName) {
        this.customerBusinessName = customerBusinessName;
    }

    public Long getReportTemplateId() {
        return reportTemplateId;
    }

    public void setReportTemplateId(Long reportTemplateId) {
        this.reportTemplateId = reportTemplateId;
    }

    public String getReportTitle() {
        return reportTitle;
    }

    public void setReportTitle(String reportTitle) {
        this.reportTitle = reportTitle;
    }

    public String getSeriesInstanceUID() {
        return seriesInstanceUID;
    }

    public void setSeriesInstanceUID(String seriesInstanceUID) {
        this.seriesInstanceUID = seriesInstanceUID;
    }

    public String getOperatorsName() {
        return operatorsName;
    }

    public void setOperatorsName(String operatorsName) {
        this.operatorsName = operatorsName;
    }

    public Date getInspectTime() {
        return inspectTime;
    }

    public void setInspectTime(Date inspectTime) {
        this.inspectTime = inspectTime;
    }

    public ScreeningStatus getScreeningStatus() {
        return screeningStatus;
    }

    public void setScreeningStatus(ScreeningStatus screeningStatus) {
        this.screeningStatus = screeningStatus;
    }

    public Integer getValidMinute() {
        return validMinute;
    }

    public void setValidMinute(Integer validMinute) {
        this.validMinute = validMinute;
    }

    public Date getFinishedTime() {
        return finishedTime;
    }

    public void setFinishedTime(Date finishedTime) {
        this.finishedTime = finishedTime;
    }

    public Long getReportAuditUserId() {
        return reportAuditUserId;
    }

    public void setReportAuditUserId(Long reportAuditUserId) {
        this.reportAuditUserId = reportAuditUserId;
    }

    public Date getReportAuditDate() {
        return reportAuditDate;
    }

    public void setReportAuditDate(Date reportAuditDate) {
        this.reportAuditDate = reportAuditDate;
    }

    public ImageQaResult getImageQaStatus() {
        return imageQaStatus;
    }

    public void setImageQaStatus(ImageQaResult imageQaStatus) {
        this.imageQaStatus = imageQaStatus;
    }

    public Integer getImageQaScore() {
        return imageQaScore;
    }

    public void setImageQaScore(Integer imageQaScore) {
        this.imageQaScore = imageQaScore;
    }

    public Date getImageQaTime() {
        return imageQaTime;
    }

    public void setImageQaTime(Date imageQaTime) {
        this.imageQaTime = imageQaTime;
    }

    public String getImageQa() {
        return imageQa;
    }

    public void setImageQa(String imageQa) {
        this.imageQa = imageQa;
    }

    public String getImageFailedReason() {
        return imageFailedReason;
    }

    public void setImageFailedReason(String imageFailedReason) {
        this.imageFailedReason = imageFailedReason;
    }

    public Boolean getNeedReport() {
        return isNeedReport;
    }

    public void setNeedReport(Boolean needReport) {
        isNeedReport = needReport;
    }

    public TaskType getTaskType() {
        return taskType;
    }

    public void setTaskType(TaskType taskType) {
        this.taskType = taskType;
    }

    public Long getTaskId() {
        return taskId;
    }

    public void setTaskId(Long taskId) {
        this.taskId = taskId;
    }

    public Long getTaskInviteeId() {
        return taskInviteeId;
    }

    public void setTaskInviteeId(Long taskInviteeId) {
        this.taskInviteeId = taskInviteeId;
    }

    public Long getTaskItemId() {
        return taskItemId;
    }

    public void setTaskItemId(Long taskItemId) {
        this.taskItemId = taskItemId;
    }

    public Long getTaskDoctorId() {
        return taskDoctorId;
    }

    public void setTaskDoctorId(Long taskDoctorId) {
        this.taskDoctorId = taskDoctorId;
    }

    public Boolean getAiHandler() {
        return isAiHandler;
    }

    public void setAiHandler(Boolean aiHandler) {
        isAiHandler = aiHandler;
    }

    public Double getWeight() {
        return weight;
    }

    public void setWeight(Double weight) {
        this.weight = weight;
    }

    public AIResultStatus getAiResult() {
        return aiResult;
    }

    public void setAiResult(AIResultStatus aiResult) {
        this.aiResult = aiResult;
    }

    public AIResultStatus getAiResultLeft() {
        return aiResultLeft;
    }

    public void setAiResultLeft(AIResultStatus aiResultLeft) {
        this.aiResultLeft = aiResultLeft;
    }

    public AIResultStatus getAiResultRight() {
        return aiResultRight;
    }

    public void setAiResultRight(AIResultStatus aiResultRight) {
        this.aiResultRight = aiResultRight;
    }

    public AIResultStatus getDoctorResultLeft() {
        return doctorResultLeft;
    }

    public void setDoctorResultLeft(AIResultStatus doctorResultLeft) {
        this.doctorResultLeft = doctorResultLeft;
    }

    public AIResultStatus getDoctorResultRight() {
        return doctorResultRight;
    }

    public void setDoctorResultRight(AIResultStatus doctorResultRight) {
        this.doctorResultRight = doctorResultRight;
    }

    public AiProcessStatus getAiProcessStatus() {
        return aiProcessStatus;
    }

    public void setAiProcessStatus(AiProcessStatus aiProcessStatus) {
        this.aiProcessStatus = aiProcessStatus;
    }

    public ExclusiveResult getExclusiveResult() {
        return exclusiveResult;
    }

    public void setExclusiveResult(ExclusiveResult exclusiveResult) {
        this.exclusiveResult = exclusiveResult;
    }

    public String getCreater() {
        return creater;
    }

    public void setCreater(String creater) {
        this.creater = creater;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getUpdater() {
        return updater;
    }

    public void setUpdater(String updater) {
        this.updater = updater;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Boolean getDeleted() {
        return isDeleted;
    }

    public void setDeleted(Boolean deleted) {
        isDeleted = deleted;
    }

    public Long getVersion() {
        return version;
    }

    public void setVersion(Long version) {
        this.version = version;
    }

    public String getPatientName() {
        return patientName;
    }

    public void setPatientName(String patientName) {
        this.patientName = patientName;
    }

    public ScreeningReportType getScreeningReportType() {
        return screeningReportType;
    }

    public void setScreeningReportType(ScreeningReportType screeningReportType) {
        this.screeningReportType = screeningReportType;
    }

    public EntityStatus getEntityStatus() {
        return entityStatus;
    }

    public void setEntityStatus(EntityStatus entityStatus) {
        this.entityStatus = entityStatus;
    }

    public Boolean getRightIsConfirmed() {
        return rightIsConfirmed;
    }

    public void setRightIsConfirmed(Boolean rightIsConfirmed) {
        this.rightIsConfirmed = rightIsConfirmed;
    }

    public Boolean getLeftIsConfirmed() {
        return leftIsConfirmed;
    }

    public void setLeftIsConfirmed(Boolean leftIsConfirmed) {
        this.leftIsConfirmed = leftIsConfirmed;
    }

    public Boolean getCanChangePart() {
        return canChangePart;
    }

    public Boolean getAllowSingleSide() {
        return allowSingleSide;
    }
}
